Performance characterization of a multi-tier enterprise application which is to be deployed on a particular production platform is a critical step prior to its release. However, due to various practical constraints, the production platform is often not available for application deployment or maybe available to a limited extent. Therefore, applications are deployed and performance-tested on a test platform which is often different from the production platform thereby creating a need for predicting application performance on the production (target) platform given its performance on a test (source) platform. Prediction of metrics such as request throughput and server utilization can be done using existing performance modeling tools provided service demands of the application (e.g. CPU execution time of a request) are known.
There are a large number of factors that can affect the CPU service time of an enterprise application such as workload characteristics, specific technology stack used by the application, amount of data exchanged with other servers and platform architecture characteristics. Building a parameterized model of execution time of an application program based on these factors is prohibitively complex.